#include <asm/page.h>
#include <asm/flushtlb.h>
-// XXX SMP bug -- these should not be statics...
-//
+/* XXX SMP bug -- these should not be statics... */
static int ttot=0, ctot=0, io_mappings=0, lowmem_mappings=0;
static int l1, l2, oos_count, page_count;
}
}
+#ifdef __i386__
if ( shadow_mode_external(d) )
l2limit = L2_PAGETABLE_ENTRIES;
else
l2limit = DOMAIN_ENTRIES_PER_L2_PAGETABLE;
+#else
+ l2limit = 0; /* XXX x86/64 XXX */
+#endif
adjust_for_pgtbase();
adjust_shadow_tables();
}
- //printk("d->shared_info=%p __pa()=%p\n", d->shared_info, __pa(d->shared_info));
adjust(virt_to_page(d->shared_info), 1);
return errors;
l1_pgentry_t *hl2 = map_domain_mem(smfn << PAGE_SHIFT);
int i, limit;
+#ifdef __i386__
if ( shadow_mode_external(d) )
limit = L2_PAGETABLE_ENTRIES;
else
limit = DOMAIN_ENTRIES_PER_L2_PAGETABLE;
+#else
+ limit = 0; /* XXX x86/64 XXX */
+#endif
for ( i = 0; i < limit; i++ )
{
mpl2e = (l2_pgentry_t *) map_domain_mem(mmfn << PAGE_SHIFT);
memset(mpl2e, 0, PAGE_SIZE);
+#ifdef __i386__ /* XXX screws x86/64 build */
memcpy(&mpl2e[DOMAIN_ENTRIES_PER_L2_PAGETABLE],
&idle_pg_table[DOMAIN_ENTRIES_PER_L2_PAGETABLE],
HYPERVISOR_ENTRIES_PER_L2_PAGETABLE * sizeof(l2_pgentry_t));
+#endif
mpl2e[l2_table_offset(PERDOMAIN_VIRT_START)] =
mk_l2_pgentry((__pa(d->arch.mm_perdomain_pt) & PAGE_MASK)
hl2 = map_domain_mem(hl2mfn << PAGE_SHIFT);
+#ifdef __i386__
if ( shadow_mode_external(d) )
limit = L2_PAGETABLE_ENTRIES;
else
limit = DOMAIN_ENTRIES_PER_L2_PAGETABLE;
+#else
+ limit = 0; /* XXX x86/64 XXX */
+#endif
memset(hl2, 0, limit * sizeof(l1_pgentry_t));
(__pa(d->arch.mm_perdomain_pt) | __PAGE_HYPERVISOR));
}
+#ifdef __i386__
if ( shadow_mode_external(d) )
limit = L2_PAGETABLE_ENTRIES;
else
limit = DOMAIN_ENTRIES_PER_L2_PAGETABLE;
+#else
+ limit = 0; /* XXX x86/64 XXX */
+#endif
/* Check the whole L2. */
for ( i = 0; i < limit; i++ )
spl2e = (l2_pgentry_t *) map_domain_mem( smfn << PAGE_SHIFT );
/* Go back and recurse. */
+#ifdef __i386__
if ( shadow_mode_external(d) )
limit = L2_PAGETABLE_ENTRIES;
else
limit = DOMAIN_ENTRIES_PER_L2_PAGETABLE;
+#else
+ limit = 0; /* XXX x86/64 XXX */
+#endif
for ( i = 0; i < limit; i++ )
{